
#ifndef _EVALUACION_H_

#define _EVALUACION_H_

#include <vector>
#include <iostream>
#include <fstream>

#include "ControlTimer.h"
#include "Enumeraciones.h"
#include "Vertice.h"
#include "Algebra.h"

using namespace::std;

class Evaluacion
{
public:
	//Constructor
	Evaluacion();

	//Propiedades
	ControlTimer& getControlTimer(){return objControlTimer;}
	
	void setNumeroCubos(int Nro){intNroCubos = Nro;}
	void setUbicacionObjetivo(Vertice value){objUbicacionObjetivo = value;}
	void setUbicacionObjetos(vector<Vertice> value){vUbicacionObjetos = value;}
	void setUbicacionOneObjeto(Vertice value,int Nro){vUbicacionObjetos[Nro] = value;}
	void setUbicacionObjetivos(vector<Vertice> value){vUbicacionObjetivos = value;}
	double getTiempo(){return dblTiempo;}

	void setTipoSesion(TipoSesion eSesion){enmTipoSesion = eSesion;}

	//Metodos
	void IniciarEvaluacion();
	void FinalizarEvaluacion();

private:
	//Atributos
	ControlTimer objControlTimer;
	TipoSesion enmTipoSesion;
	
	double dblTiempo;
	int intNroCubos;
	Vertice objUbicacionObjetivo;
	vector<float> vDistanciaObjetos;
	vector<Vertice> vUbicacionObjetos;
	vector<Vertice> vUbicacionObjetivos;

	char *charFilename;

	//Metodos
	void GenerarReporte();
};


#endif